Method and apparatus for voucher and coupon printing in a gaming or vending environment

ABSTRACT

Methods and apparatuses for a promotional printer for printing vouchers and coupons for use within gaming machines or vending machines. The promotional printer incorporates a first and second means for receiving voucher and coupon data, respectively. The promotional printer may be coupled to a local controller, such as a game controller or a vending machine controller, for the reception of voucher data for printing on vouchers. The promotional printer may also be coupled to a system controller such as a master promotional controller for the reception of coupon data for printing on coupons. The promotional printer may be a single device or may be created by combining a module receiving the coupon and voucher data with a conventional gaming machine or voucher printer.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No. 10/434,306, filed May 7, 2003 which claims the benefit of U.S. Provisional Patent Application No. 60/378,491, filed May 7, 2002, and is a continuation of U.S. patent application Ser. No. 10/405,112, filed Mar. 31, 2003, which claims the benefit of U.S. Provisional Patent Application No. 60/369,097, filed Mar. 29, 2002, the contents of each of which are hereby incorporated by reference as if fully stated herein.

BACKGROUND AND SUMMARY

1. Field of the Invention

This invention relates generally to printers and printer connected hardware used in cash-less slot machines, gaming and vending machines, and more specifically to hardware and software operating within this equipment performing promotional ticket printing, promotional data basing and printer and printer connected hardware based promotional ticket triggering.

2. Description of the Related Art

The gaming machine manufacturing industry provides a variety of gaming machines for the amusement of gambling players. An exemplary gaming machine is a slot machine. A slot machine is an electromechanical game wherein chance or the skill of a player determines the outcome of the game. Slot machines are usually found in casinos or other more informal gaming establishments.

The gaming machine manufacturers have more recently introduced cash-less enabled games to the market and these have begun to find wide acceptance in that industry. Cash-less enabled games are so named due to the fact that they can conduct their player's financial exchange with a mixture of traditional currency and vouchers. Typically, a cash-less enabled game must have as installed components a printer to produce the vouchers, and a bill acceptor that supports automatic reading of the vouchers. In a cash-less enabled gaming system, when a player cashes out, the system is signaled and depending on the size of the pay out, it can either present coins in the tradition method of a slot machine, or it can cause the printers which are installed in such machines to produce a voucher containing the value of the pay out. The voucher may then either be redeemed for cash at the cashier's cage, or inserted into the bill acceptor which is installed in the same or another cash-less enabled slot machine at a participating casino, at which point the system will recognize the voucher, redeem it and place the appropriate amount of playing credits on the game.

Over the last two years, cash-less enabled games have found an increasing acceptance and use in the gaming industry with both the players, who enjoy the speed of play and ease of transporting their winnings around the casino, and the casinos who have realized significant labor savings in the form of reduced coin hopper reloads in the games, and an increase in revenue due to speed of play. This increasing acceptance practically guarantees a wide installed base of networked games with captive player audiences for couponing and promotional tickets using generally the same equipment already installed within the game for the purpose of supporting cash-less gaming vouchers.

The vending machine manufacturing industry provides a variety of vending machines configured as self serve kiosks for dispensing various foods, drinks and other material products. An exemplary vending machine is a soft drink vending machine. Vending machines are usually found in locations where people would congregate or be passing through and require snacks, food or other goods.

The vending machine manufacturers have more recently introduced intelligent, network connected vending machines to the market and these have begun to find wide acceptance in that industry. These new vending machines are considered intelligent since they have capabilities of tracking their product sales and inventory levels, and reporting these to a central location via a hard wired land line or over a wireless communications link. This information may then be used to schedule route restocking schedules and for market analysis.

Initial testing of the network connected vending machines have been positive, and this initial success practically guarantees a wide installed base of networked vending machines with a customer audience captive during the vend process. This installed base opens up tremendous electronic promotional opportunities.

SUMMARY OF THE INVENTION

In one aspect of the present invention, a cash-less enabled game installed printer or printer attached promotional module, the two being one complete logical unit and thus hereinafter referred to as the “Printer”, capable of loading and storing a promotional database issued by a master promotional control system, and referencing and parsing the promotional database based on signals received, for the purpose of creating and issuing promotional tickets on paper media used specifically for this purpose, or on paper media normally used for the purpose of pay out vouchers associated with cashless gaming, said promotional database containing a plurality of coupons, cash vouchers, advertisements or enticements all being hereinafter referred to as “coupon” or “coupons”, and such Printer containing and supporting a template based printer language allowing coupons to be pre-defined, formatted and stored in the Printer completely or in portion for later recall, and such Printer and the said promotional database thereby forming a complete promotional unit that combined shall hereinafter referred to as a gaming promotional printer.

In another aspect of the invention, the gaming promotional printer being triggered to print coupons in its database under direct control of the master promotional control system which signals the print and conveys any pertinent variable information associated with the coupons such as promotion type, face value of the coupon, date of expiration and the like.

In another aspect of the invention, the master promotional control system managing two or more gaming promotional printers in a network type fashion.

In another aspect of the invention, the gaming promotional printer downloading from a master promotional control system a coupon trigger database thereby enabling it to self-manage its couponing activity, these triggers being: (a) anytime a cash out voucher is printed, (b) a voucher for greater than, equal to, or less than a specified amount of money is issued, (c) the identity of a player, (d) the category or classification of the player related to frequency of play or money volume, (e) the duration of play on the game, (f) anytime a player adds money or credits to a game in an amount greater than, equal to or less than a specified amount.

In another aspect of the invention, a component of the gaming promotional printer's internal database being a set of control parameters which instruct the printer to select the type and quantity of coupons to create and issue related to any of the triggers listed in the paragraph above, these control parameters operating separately or in combination with each coupon in the database, and these parameters being namely: (a) the total quantity of a coupon being issued before it is retired within the database, (b) the frequency of issuance of a coupon based on an algorithm of one in every so many trigger events, (c) the frequency of issuance of a coupon based on random odds, such as one in one hundred trigger events, (d) a backup coupon or coupons should a particular coupon fail to print for lack of satisfying its specified set of qualifiers, (e) whether the coupon is issued based on the time the trigger occurred, (f) whether the coupon is issued based on the date the trigger occurred.

In another aspect of the invention, the gaming promotional printer reporting tracking statistical data related to its use of the promotional database back to the master promotional control system in regards to the quantities of specific types of triggers received, quantities of each type of coupon issued, the times and dates when triggers were received and coupons were issued.

In another aspect of the invention, the inclusion of a unique address or identity for each gaming promotional printer so that the population on the network can be addressed in whole or individually for promotional purposes.

In another aspect of the invention, the inclusion of a real time clock electronic device within the gaming promotional printer for the purposes of supporting promotional activity as described by the definition of coupon above.

In another aspect of the invention, the gaming promotional printer accepting promotional database loads and transferring statistical data with the master promotional control system either through its main communication port used for normally signaling pay out vouchers in the game, or through an auxiliary port allowing its promotional activities to be conducted in serial or in parallel with its cash-out voucher printing functions within the cash-less enabled game.

In another aspect of the invention, the gaming promotional printer creating the image of a barcode, barcodes, characters or marks which can be read by a cash-less enabled game bill acceptor on the same or other game, allowing the automatic acceptance of coupons into the cash-less gaming system in the casino or related casino property.

In another aspect of the invention, a method of printing a promotional coupon in a gaming environment includes receiving coupon data by a gaming promotional printer in a cashless enabled game from a promotional controller via a communications network. The coupon data includes a coupon description written in a template definition language. The gaming promotional printer then generates the coupon using variable data and the coupon template in response to a trigger.

In another aspect of the invention, the variable data is received by the gaming promotional printer from the promotional controller via the communications network. In this aspect, the promotional controller generates the trigger and transmits the trigger to the gaming promotional printer via the communications network.

In another aspect of the invention, the coupon data includes trigger control parameters and the trigger is generated by the gaming promotional printer using the trigger control parameters and trigger data. The trigger data may include a date, a time of day, a frequency of issuance of the coupon, or a time of play by a player of a gaming machine.

In another aspect of the invention, the gaming promotional printer is further coupled to a gaming machine controller and the trigger data is received by the gaming promotional printer from a gaming machine controller. The trigger data may include a player identifier, an amount of money in play on a gaming machine, a duration of a current session of play of a gaming machine, a cash-in of a player or a cash-out of a player.

In another aspect of the invention, coupon issuance data is stored by the gaming promotional printer and the coupon issuance data is transmitted by the gaming promotional printer to the promotional controller via the communications network.

In another aspect of the invention, a promotional controller transmits coupon data to a gaming promotional printer via a communications network with the coupon data including a coupon template. The promotional controller transmits variable data and trigger data to the gaming promotional printer via the communications network. In response to the transmission, the gaming promotional printer generates a coupon using the coupon template and the variable data.

In another aspect of the invention, the gaming promotional printer stores coupon issuance data and the promotional controller receives the coupon issuance data by the promotional controller from the gaming promotional printer via the communications network.

In another aspect of the invention, a gaming promotional printer comprises a processor and a memory coupled to the processor. The memory has stored program instructions executable by the processor where the program instructions include receiving coupon data including a coupon template from a promotional controller via a communications network. The program instructions for the gaming promotional printer also include instructions for generating a coupon using variable data and the coupon template in response to a trigger.

In another aspect of the invention, a promotional controller includes a processor and a memory coupled to the processor. Program instructions for implementing the features of a promotional controller are stored in the memory and are executable by the processor. The program instructions include: transmitting coupon data to a gaming promotional printer via a communications network wherein the coupon data includes a coupon template; transmitting variable data to the gaming promotional printer via the communications network; and transmitting trigger data to the gaming promotional printer whereby the gaming promotional printer generates a coupon using the coupon template and the variable data in response to the trigger data.

In another aspect of the present invention, a vending machine installed printer or printer attached promotional module, the two being one complete logical unit and thus hereinafter referred to as the “Printer”, capable of loading and storing a promotional database issued by a master promotional control system being either the vending machine's controller to which the Printer interfaces for customer receipts or a separate controller for promotional purposes (either or both controllers being referred to as “MPC”), and referencing and parsing the promotional database based on signals received, for the purpose of creating and issuing promotional tickets on paper media, said promotional database containing a plurality of coupons, cash vouchers, advertisements or enticements all being hereinafter referred to as “coupon” or “coupons”, and such Printer containing and supporting a template based printer language allowing coupons to be pre-defined, formatted and stored in the Printer completely or in portion for later recall, and such Printer and the said promotional database thereby forming a complete promotional unit that combined shall hereinafter referred to as a vending promotional printer.

In another aspect of the invention, the vending promotional printer being triggered to print coupons in its database under direct control of the MPC which signals the print and conveys any pertinent variable information associated with the coupons such as promotion type, face value of the coupon, date of expiration and the like.

In another aspect of the invention, the MPC managing two or more vending promotional printers in a network type fashion.

In another aspect of the invention, the vending promotional printer downloading from the MPC a coupon trigger database thereby enabling it to self-manage its couponing activity, these triggers being: (a) anytime a product is issued by the vending machine to the customer, (b) a sale for greater than, equal to, or less than a specified amount of money occurs in the machine, (c) the quantity of product which the customer purchases, (d) the time at which the vending transaction occurs, (e) the date at which vending transaction occurs, (f) the physical row and column of the vending machine's storage matrix from which the product is issued (“vended”), (g) the type of product vended. The sum of the foregoing items listed in this paragraph being in their entirety referred to as “triggers”.

In another aspect of the invention, a component of the vending promotional printer's internal database being a set of control parameters which instruct the printer to select the type and quantity of coupons to create and issue related to any combination of the triggers listed in the paragraph above, these control parameters operating separately or in combination with each coupon in the database, and these parameters being namely: (a) the total quantity of a coupon being issued before it is retired within the database, (b) the frequency of issuance of a coupon based on an algorithm of one in every so many trigger events, (c) the frequency of issuance of a coupon based on random odds, such as one in one hundred trigger events, (d) a backup coupon or coupons should a particular coupon fail to print for lack of satisfying its specified set of qualifiers, (e) whether the coupon is issued based on the time the trigger occurred, (f) whether the coupon is issued based on the date the trigger occurred.

In another aspect of the invention, the vending promotional printer reporting tracking statistical data related to its use of the promotional database back to the MPC some or all of the information related to the quantities of specific types of triggers received, quantities of each type of coupon issued, the times and dates when triggers were received and coupons were issued.

In another aspect of the invention, the vending promotional printer including circuitry to interface to the vending machine's communication bus, in a method either visible or transparent to the vending machine's controller, for the purposes of determining transactional information such as the amount of currency deposited into the vending machine by the customer, the cost of the product being vended, the type of product vended, or the storage row and column from which the product is vended.

In another aspect of the invention, the inclusion of a unique address or identity for each vending promotional printer so that the population on the network can be addressed in whole or individually for promotional purposes.

In another aspect of the invention, the inclusion of a real time clock electronic device within the vending promotional printer for the purposes of supporting promotional activity as described by the definition of coupon above.

In another aspect of the invention, the vending promotional printer supporting two communications ports, one port being used for communicating with the MPC for promotional activities, and the other port being used for communicating with the vending machine controller for the purposes of issuing financial receipts and monitoring vending transactional traffic, thus allowing its promotional activities to be conducted in serial or in parallel with transactional printing functions within the vending machine.

In another aspect of the invention, the vending promotional printer creating the image of a barcode, barcodes, characters or marks that can be read by a bill acceptor on the same or other vending machine or kiosk, allowing the automatic acceptance of coupons by said machines or kiosks.

In one aspect of the invention, a method of printing a promotional coupon in a vending environment includes receiving coupon data by a vending promotional printer in a cashless enabled game from a promotional controller via a communications network. The coupon data includes a coupon description written in a template definition language. The vending promotional printer then generates the coupon using variable data and the coupon template in response to a trigger.

In another aspect of the invention, the variable data is received by the vending promotional printer from the promotional controller via the communications network. In this aspect, the promotional controller generates the trigger and transmits the trigger to the vending promotional printer via the communications network.

In another aspect of the invention, the coupon data includes trigger control parameters and the trigger is generated by the vending promotional printer using the trigger control parameters and trigger data. The trigger data may include a date, a time of day, a frequency of issuance of the coupon, or a time of play by a player of a vending machine.

In another aspect of the invention, the vending promotional printer is further coupled to a vending machine controller and the trigger data is received by the vending promotional printer from a vending machine controller. The trigger data may include a player identifier, an amount of money in play on a vending machine, a duration of a current session of play of a vending machine, a cash-in of a player or a cash-out of a player.

In another aspect of the invention, coupon issuance data is stored by the vending promotional printer and the coupon issuance data is transmitted by the vending promotional printer to the promotional controller via the communications network.

In another aspect of the invention, a promotional controller transmits coupon data to a vending promotional printer via a communications network with the coupon data including a coupon template. The promotional controller transmits variable data and trigger data to the vending promotional printer via the communications network. In response to the transmission, the vending promotional printer generates a coupon using the coupon template and the variable data.

In another aspect of the invention, the vending promotional printer stores coupon issuance data and the promotional controller receives the coupon issuance data by the promotional controller from the vending promotional printer via the communications network.

In another aspect of the invention, a vending promotional printer comprises a processor and a memory coupled to the processor. The memory has stored program instructions executable by the processor where the program instructions include receiving coupon data including a coupon template from a promotional controller via a communications network. The program instructions for the vending promotional printer also include instructions for generating a coupon using variable data and the coupon template in response to a trigger.

In another aspect of the invention, a promotional controller includes a processor and a memory coupled to the processor. Program instructions for implementing the features of a promotional controller are stored in the memory and are executable by the processor. The program instructions include: transmitting coupon data to a vending promotional printer via a communications network wherein the coupon data includes a coupon template; transmitting variable data to the vending promotional printer via the communications network; and transmitting trigger data to the vending promotional printer whereby the vending promotional printer generates a coupon using the coupon template and the variable data in response to the trigger data.

BRIEF DESCRIPTION OF THE DRAWINGS

These and other features, aspects, and advantages of the present invention will become better understood with regard to the following description, appended claims, and accompanying drawings where:

FIG. 1 is an illustration of an exemplary network interfacing couponing to the vending environment;

FIG. 2 is an illustration of an exemplary coupon and an summary of how the coupon is constructed by logical fields in a template based printer language used in the invention;

FIG. 3 is an illustration of coupon template field elements stored partially resident in the printer and partially supplied by the MPC at the time of print and issue;

FIG. 4 is an illustration of an exemplary coupon “stack” and logical trigger matrix resident in the printer promotional printer;

FIG. 5 is a block diagram illustrating a vending environment employing coupon issuance in accordance with an exemplary embodiment of the present invention;

FIG. 6 is a deployment diagram of a coupon issuing system in accordance with an exemplary embodiment of the present invention;

FIG. 7 is another deployment diagram of the coupon issuing system in accordance with an exemplary embodiment of the present invention;

FIG. 8 is an illustration of a coupon including logical fields described in a template based printer language in accordance with an exemplary embodiment of the present invention;

FIG. 9 is a block diagram of coupon template field elements stored partially resident in a vending promotional printer and partially supplied by a master promotional controller at the time of print and issue in accordance with an exemplary embodiment of the present invention;

FIG. 10 is a block diagram of an exemplary coupon “stack” and logical trigger matrix resident in a vending promotional printer in accordance with an exemplary embodiment of the present invention;

FIG. 11 is a process flow diagram of a coupon generation process in accordance with an exemplary embodiment of the present invention;

FIG. 12 is a sequence diagram of a coupon generating process in accordance with an exemplary embodiment of the present invention;

FIG. 13 is an architecture diagram of an exemplary vending promotional printer in accordance with an exemplary embodiment of the present invention;

FIG. 14 is an architecture diagram of an exemplary master promotional controller in accordance with an exemplary embodiment of the present invention;

FIG. 15 is an illustration of an exemplary network interfacing couponing to the gaming environment;

FIG. 16 is an illustration of an exemplary coupon and a summary of how the coupon is constructed by logical fields in a template based printer language used in the invention;

FIG. 17 is an illustration of coupon template field elements stored partially resident in the printer and partially supplied by the master promotional control system at the time of print and issue;

FIG. 18 is an illustration of an exemplary coupon “stack” and logical trigger matrix resident in the gaming promotional printer;

FIG. 19 is a block diagram illustrating a gaming environment employing coupon issuance in accordance with an exemplary embodiment of the present invention;

FIG. 20 is a deployment diagram of a coupon issuing system in accordance with an exemplary embodiment of the present invention;

FIG. 21 is another deployment diagram of the coupon issuing system in accordance with an exemplary embodiment of the present invention;

FIG. 22 is an illustration of a coupon including logical fields described in a template based printer language in accordance with an exemplary embodiment of the present invention;

FIG. 23 is a block diagram of coupon template field elements stored partially resident in a promotional gaming printer and partially supplied by a master promotional controller at the time of print and issue in accordance with an exemplary embodiment of the present invention;

FIG. 24 is a block diagram of an exemplary coupon “stack” and logical trigger matrix resident in a gaming promotional printer in accordance with an exemplary embodiment of the present invention;

FIG. 25 is a process flow diagram of a coupon generation process in accordance with an exemplary embodiment of the present invention;

FIG. 26 is a sequence diagram of a coupon generating process in accordance with an exemplary embodiment of the present invention;

FIG. 27 is an architecture diagram of a promotional gaming printer in accordance with an exemplary embodiment of the present invention; and

FIG. 28 is an architecture diagram of an exemplary master promotional controller in accordance with an exemplary embodiment of the present invention.

DETAILED DESCRIPTION

FIG. 1 is an illustration of a block diagram of the entire system in which the printer promotional printer is employed. The MPC shown in the diagram, which can either be a central computer, the vending machine's controller, or an intelligent routing and management device for one or more of the vending promotional printers, directs the promotional activity of the printers via its direct promotional ticket requests, or by using the printer's ability to store coupon databases and-triggers. Once a coupon has been issued by the vending promotional printer, it can either be redeemed at the advertised location, or automatically through a bill acceptor in a participating vending machine, or a kiosk which is not a vending machine, but provides some other form of automatic interface with the coupon holder. As shown by the dashed line connection, a non-vending machine kiosk or personnel at the redemption location may or may not interface back to the MPC when redeeming a coupon, depending on the application. Information relative to the couponing activity may exchanged with the MPC system, the net result being the vending promotional printers fitting into the system as distributed intelligent subunits, significantly off-loading the MPC's real time servicing requirements and avoiding network bandwidth issues associated with live streaming of coupons during the relatively short vend time window. FIG. 1 also shows the vending promotional printer connected to the vending machines internal communication bus on which resides the vending machine's controller, such connection either being visible or transparent.

The vending promotional printer supports two communications ports, one port being used for communicating with the MPC for promotional activities, and the other port being used for communicating with the vending machine controller for the purposes of issuing financial receipts and monitoring vending transactional traffic, thus allowing its promotional activities to be conducted in serial or in parallel with transactional printing functions within the vending machine.

The vending promotional printer may accept promotional database loads and transfer statistical data with the master promotional control system either through its main communication port used for normally signaling issuance of financial receipts in the vending machine, or through an auxiliary port allowing its promotional activities to be conducted in serial or in parallel with its financial receipt printing functions within the vending machine.

FIG. 2 is an illustration of a sample coupon template, demonstrating how the template is made up a number of fields containing different types of data. In this example there are essentially four types of data fields: text, barcode, graphic and line/box draws. Each template can contain a number of these fields in combination, resulting in a paste-up style printed ticket. A number of templates (coupons) can be stored in a vending promotional printer supporting a rich couponing environment.

FIG. 3 illustrates how the MPC selects the type of coupon and transmits the particulars for each print and issue event. In this illustration we again see the coupon from FIG. 2, and the diagram divides the fields that make up the coupon into two groups, one group which is stored resident in the printer and the other being the group of fields sent dynamically by the MPC at the time of print and issue. The group of fields that are stored in the vending promotional printer are saved in a template definition for a particular coupon. Part of the communication packet issued by the MPC contains a reference to the template definition so that the dynamic data in the packet can be combined with the static field data stored in the vending promotional printer to produce the complete coupon image. Since it is possible to store all fields used in a coupon within the printer's memory, it is possible for the MPC to issue a complete coupon by simply sending a reference to a coupon so defined to create it in its entirety. It is also possible for the MPC to offload the entire live communication burden by sending a complete coupon database containing triggers during off-peak times.

FIG. 4 illustrates the trigger matrix logic within the vending promotional printer. At the top of the diagram is an example of six different logical triggers utilized in the printer for initiating the coupons. The six examples given are: date, time, frequency of issuance, cost of the vended product, type of the vended product, and storage row and column of the vended product. In the lower part of the diagram, the coupon database stack is pictured. The stack of coupons are a plurality of pre-defined coupons which can printed anytime the set of trigger conditions to which they are associated are satisfied. These trigger conditions can operate independently or in logical combination. The coupon selector logic module shown is tasked with analyzing trigger information as it comes available and determine which coupons should be printed in response to the information. By utilizing the trigger matrix shown in this figure, it is possible for the vending promotional printer to issue coupons without any information provided by the MPC at the time of a cash-in, vend, or the vending session completion.

FIG. 5 is block diagram illustrating a vending environment employing couponing in accordance with an exemplary embodiment of the present invention. A customer 100 uses a vending machine 102 to buy a snack, soft drink, or other item. When the customer buys the item, a master promotional controller 104 coupled to one or more vending machines through a communications network 106 triggers the generation of promotional coupons 108 for use by the customer. The promotional coupons are generated by a vending promotional printer 109 included in a vending machine. The master promotional controller can either be a controller network connected to one or more vending promotional printers, a controller within a vending machine or vending promotional printer, or an intelligent routing and management device for one or more vending promotional printers.

In one embodiment of a master promotional controller, the master promotional controller directs the promotional activity of the vending promotional printers via direct promotional coupon requests. In another embodiment of a master promotional controller, the master promotional controller uses a vending machine's vending promotional printer to store promotional coupon databases and triggers.

Once a promotional coupon has been issued by a vending promotional printer, the promotional coupon may be redeemed with a human operator or cashier 110, or redeemed automatically through another redemption device, such as a bill acceptor in another vending machine 112, or redeemed at a kiosk 114 which is not a vending machine but provides some other form of automatic interface for a promotional coupon holder.

In one embodiment of a master promotional controller, the master promotional controller is coupled to the redemption devices. In another embodiment of an master promotional controller, a non-vending kiosk or cashier personnel may or may not interface back to the master promotional controller when redeeming a promotional coupon. Information relative to couponing activity is exchanged with the master promotional controller, the net result being the vending promotional printers fitting into the system as distributed intelligent sub-units, significantly off-loading the master promotional controller's real time servicing requirements and avoiding network bandwidth issues associated with live streaming of promotional coupons during a relatively short vend time window.

In one vending environment employing couponing in accordance with an exemplary embodiment of the present invention, each vending promotional printer in the vending environment has a unique address or identifier so that a population of vending promotional printers on the network can be addressed in whole or individually for promotional purposes.

FIG. 6 is a deployment diagram of a couponing system in accordance with an exemplary embodiment of the present invention. In a couponing system, a master promotional controller 104 is coupled to one or more vending machines, as illustrated by vending machine 102, through a communications network 106 by coupling to a vending promotional printer 109 included in the vending machine. The master promotional controller is programmable and includes master promotional controller programming instructions 201 controlling the master promotional controllers operations including communications with the vending promotional printer.

In one vending promotional printer in accordance with an exemplary embodiment of the present invention, a stand-alone vending promotional printer includes all of the necessary processing capabilities, memory, and vending promotional printer programming instructions 209 needed to perform promotional couponing operations for the vending machine.

In other embodiments of vending promotional printers, a vending promotional printer is created by coupling a promotional module 210 to a conventional vending printer, enabling the vending printer to function as a vending promotional printer. A stand-alone vending promotional printer or a vending promotional printer created from a conventional vending printer coupled to a promotional module are hereinafter termed a “vending promotional printer”.

FIG. 7 is another deployment diagram of the couponing system in accordance with an exemplary embodiment of the present invention. In a couponing system, a master promotional controller 104 is coupled to one or more vending machines, as illustrated by vending machine 102, through a communications network 106 by coupling to a vending promotional printer 109 included in the vending machine. The master promotional controller is programmable and includes master promotional controller programming instructions 201 controlling the master promotional controllers operations including communications with the vending promotional printer.

In one vending promotional printer in accordance with an exemplary embodiment of the present invention, a stand-alone vending promotional printer includes all of the necessary processing capabilities, memory, and vending promotional printer programming instructions 209 needed to perform promotional couponing operations for the vending machine.

In other embodiments of vending promotional printers, a vending promotional printer is created by coupling a promotional module 210 to a conventional vending printer, enabling the vending printer to function as a vending promotional printer. A stand-alone vending promotional printer or a vending promotional printer created from a conventional vending printer coupled to a promotional module are hereinafter termed a “vending promotional printer”.

The vending promotional printer supports two communications ports, one port 222 being used for communicating with the MPC for promotional activities, and the other port 220 being used for communicating with the vending machine controller for the purposes of issuing financial receipts and monitoring vending transactional traffic, thus allowing its promotional activities to be conducted in serial or in parallel with transactional printing functions within the vending machine. Furthermore, by coupling to a vending machine controller, the master promotional controller may receive information from the vending machine controller about the vending operations of the vending machine separately from the vending promotional printer printing operations.

The vending machine may also include a bill acceptor 206 coupled to the vending machine controller. A vending machine uses a bill acceptor for redemption of promotional coupons and acceptance of vouchers or cash.

In operation, the master promotional controller transmits packets of variable data or coupon data describing a promotional database to the vending promotional printer. The contents of the promotional database include descriptions of a plurality of promotional coupons, cash vouchers, advertisements or other enticements which are hereinafter collectively referred to as “coupons”. The vending promotional printer receives the promotional database and stores the promotional database in the vending promotional printer's local memory.

The vending promotional printer also stores specifications of how to print the coupons in its local memory. The specifications of the coupons are stored as templates written in a template-based printer language. This allows the coupons to be pre-defined, formatted, and stored in the vending promotional printer completely or partially for later recall.

Upon reception of a trigger data signal from either the master promotional controller or the vending machine controller, the vending promotional printer references and parses the promotional database and coupon templates to generate and issue promotional coupons or tickets printed on paper media. The paper media may be used specifically for the purpose of generating promotional coupons, or the paper media may be used for the purpose of printing vouchers associated with vending.

FIG. 8 is an illustration of a coupon including logical fields described in a template based printer language in accordance with an exemplary embodiment of the present invention. In this example, a coupon may 900 include four types of data fields: text fields, such as text field 302; barcode fields, such as barcode field 304; graphic fields, such as graphic field 306; and line/box draw fields, such as line/box draw field 308. The fields of a coupon are described using coupon description data included in an electronic template that may be stored by a vending promotional printer. A template may include a plurality of fields in combination, resulting in a paste-up style printed coupon. A plurality of templates describing different types of coupons may be stored in a vending promotional printer supporting a rich couponing environment.

The actual value or data for each of the fields described in a coupon template may or may not be included in the template itself. For example, a template may include a barcode field for printing a barcode 310. However, the actual value of the barcode is transmitted to a vending promotional printer at the time a coupon is generated using the coupon template. In this way, a coupon may have fields that include static data, such as graphic 312 in a graphic field, or dynamic data, such as the name of a particular patron 314 in a text field. In this way, customized coupons may be printed by a vending promotional printer without transferring large amounts of data through a communications network coupling a vending promotional printer to a master promotional controller.

In addition, data that is used to track usage of coupons may be included in a coupon. For example, a barcode field or a text field may be used to print a barcode value or text string uniquely identifying a coupon. In this way, a vending provisional printer creates an image of a barcode or barcodes, characters or marks that may be read by a vending machine bill acceptor on the same or another vending machine, allowing automatic acceptance of coupons into a vending system distributed across more than one location.

A coupon template includes a plurality of command strings. Each command string conforms to the following syntax:

-   delimiter<cmd_Ltr>|<data_field 1>| . . .     |<data_fieldx>|delimeter;comment     where:     -   delimiter=a delimiter character     -   <cmd_ltr>=command identifier letter     -   <data_fields1-x>=fields which include information relative to         the command     -   |=Pipe character. This serves as the delimiter between data         fields in a command.     -   ;=Semi-colon. This is a comment field designator.

A template defining a coupon adheres to following syntax:

-   delimiter<template_cmd_ltr>|<t_id>|<targ_mem>|<t_dim_da>|<t_dim_pa>| -   <pr#1>|<pr#2>| . . . |<pr#n>|delimiter     where:     -   <t_id>=Template I.D.     -   <targ_mem>=target memory storage.     -   <t_dim_da>=Template dimension on a dotline axis in dots.     -   <t_dim_pa>=Template dimension in dots in the paper axis.     -   <pr#1> . . . <pr#n>=list of coupon database resident print         regions ID's used in the format of this coupon. These fields are         the method by which print regions used on a coupon are linked         together and to the coupon template.

A print region is a print field used in a template to format print data. The print region command is used to define the basic types of print regions such as text, barcode, graphics, and a line/box draw.

A define print region command defines the particular font, barcode, graphic, or line style which is to be used, and provides special formatting information on how it is to be used. Multiple print regions may be defined and memorized in a vending promotional printer's coupon database.

A define print region command adheres to the following syntax:

-   delimiter<print_region_cmd_ltr>|<r_id>|<targ_mem>|<da_start>|<pa_start>| -   <da_len>|<pa_len>|<rot>|<just>|<obj_id>|<mul_(—)1>|<mul_(—)2>|<obj_att>| -   <pr_att>|<pr_data>|delimter     where:     -   <r_id>=print region identifier.     -   <targ_mem>=target memory storage.     -   <da_start>=dot axis start position in dots.     -   <pa_start>=paper axis start position in dots.     -   <da_len>=dot axis length of print region in dots.     -   <pa_len>=paper axis length of print region in dots.     -   <rot>=rotation of strings or data within print region.     -   <just>=justification of data within print region.     -   <obj_id>=print object identifier. Range 1 byte. This is the         print object (barcode, font, line/box or graphic) used to format         print the data from a print command.     -   <mul_(—)1>=Print object multiplier 1. For text, it is a font         width multiplier. For barcodes, it indicates narrow bar width or         modulo bar width. For a line, this represents thickness of the         line in dots.     -   <mul_(—)2>=Print object multiplier 2. For text, this represents         a font height multiplier. For a barcode, it indicates a wide bar         width.     -   <obj_att>=object printing attributes. This contains special         instructions on how to treat the print objects within a print         region     -   <pr_att>=print region attributes. This contains special         instructions on handling of the print region. A ‘0’ indicates         text will be sent in a print batch command. A ‘1’ indicates use         text which follows in pr_data field for a print region. A ‘2’         indicates a print region will auto increment with each coupon in         a batch. The base value is stored in a pr_data field. A ‘3’         indicates an auto-decrement print region which will         auto-decrement with each coupon in a batch. The base value is         stored in a pr_data field.     -   <pr_data>=permanently stored data which always appears in this         print region. This field contains stored text if requested by         entering a ‘2’ in <pr_att> field.

A library command is used to manage defined graphics. A library command adheres to the following syntax:

-   delimiter<library_cmd_ltr>|<lib_funct>|<mem>|<obj_id>|<mem_req>| -   <ld_file_size>|obj_data delimiter     where:     -   <lib_funct>=operation to perform: ‘A’-add object, enter download         mode, ‘D’-delete object.     -   <mem>=target memory in which to place the object being         downloaded.     -   <obj_id>=object identification. This is the object I.D. byte.     -   <mem_req>=memory usage specifier. For loading a graphic: size of         a graphic file. The library command header is terminated after         this field and obj_data is expected immediately following. For         deleting graphics: ‘G’ is used in this field.     -   <ld_file_size>=file size indicator.     -   obj_data=object data (font or graphic) in appropriate format if         <lib_funct>=‘A’. Format for graphics: PCX.

FIG. 9 is a block diagram of coupon template field element stored partially resident in a vending promotional printer and partially supplied by a master promotional controller at the time of print and issue in accordance with an exemplary embodiment of the present invention. FIG. 10 illustrates how a master promotional controller selects a type of coupon and transmits particulars, such as variable data to be placed in fields in the coupon, for each print and issuance event. Values for the fields that make up a coupon 300 may be divided into two groups or sets. A resident variable data set 400 may be stored locally in a vending promotional printer. The resident set of variable data may include variable data such as: variable data for a text field containing an identifier of a vending location 402; variable data for a barcode field identifying a type of promotion 404; a template description used to generate a graphic such as box variable data 406 or line variable data 408; or an identifier or actual variable data for a graphic 410. A dynamic variable data set include variable data for fields having variable data that are stored in the vending promotional printer and are saved in a template definition for a particular coupon. Examples of variable data in a dynamic variable data set include: text variable data for a customer identifier or welcoming message 414; text variable data describing a promotion item 416; and barcode variable data 418 for quantifying a value of a promotion for printing on the coupon.

Both variable data sets may be transmitted from a master promotional controller 104 to a vending promotional printer in the form of communication packets. When a vending promotional printer receives a variable data set, the vending promotional printer stores the variable data set for future use. A resident variable data set includes variable data that may be reused for generating many coupons; therefore, a resident variable data set may be stored in the vending promotional printer for an extended period of time. In contrast, a dynamic variable data set may be used for a short period of time, perhaps for even a single generation of a single coupon. As such, the dynamic variable data set and static variable data set associated in a coupon may be transmitted to a vending promotional printer at different times. To retain association between the variable data sets, part of the communication packet issued by the master promotional controller may include a reference 420 to a template definition so that the dynamic data in the communication packet can be combined 422 with the static field data stored in a vending promotional printer to generate a complete coupon 200.

Since it is possible to store all fields used in a coupon within the vending promotional printer's memory, a master promotional controller may issue a complete coupon by simply sending a reference to a coupon so defined to generate a coupon in its entirety. It is also possible for a master promotional controller to offload the entire live communication burden by sending a complete coupon database including triggers during off-peak times.

In one embodiment of a vending promotional printer, a vending promotional printer is triggered to print coupons from the vending promotional printer's internal database under direct control of a master promotional controller that triggers the issuance of a coupon and conveys any pertinent variable information associated with the coupon such as promotion type, face value of the coupon, date of expiration and the like.

FIG. 10 is a block diagram of an exemplary coupon stack and logical trigger matrix resident in a vending promotional printer in accordance with an exemplary embodiment of the present invention. As previously noted, a vending promotional printer may print a coupon in response to either internal or external event signals or trigger data. To respond to a trigger, a vending promotional printer includes a coupon selector logic module 500 that analyzes trigger data 502 as trigger data becomes available and determines which coupons should be printed in response to the trigger data coupons, such as coupons 504, 506, and 508, are stored in a coupon database 510 as a stack. The stack of coupons are a plurality of predefined coupons that can generate a coupon 511 anytime a set of trigger conditions to which a coupon is associated is satisfied. These trigger conditions can operate independently or in logical combination.

Exemplary logical trigger data utilized in a vending promotional printer for initiating generation of coupons includes: date 512, time of day 514, frequency of issuance of a particular coupon 516, time of vend 524, and vending machine issued parameters 526 to the printer such as type of product, location within the vending machine (such as a row and column) or cost of the product being vended and the like. By utilizing the illustrated trigger matrix, it is possible for a vending promotional printer to issue coupons without any information provided by a master promotional controller at the time of a cash-in, vend, or completion of a vending session.

In one vending promotional printer in accordance with an exemplary embodiment of the invention, the vending promotional printer receives from a master promotional controller a coupon trigger database thereby enabling the vending promotional printer to self-manage its couponing activity. The coupon trigger database may include different types of trigger control parameters including: anytime a product is issued by the vending machine to the customer; a sale for greater than, equal to, or less than a specified amount of money occurs in the vending machine; the quantity of product which the customer purchases; the time at which the vending transaction occurs; the date at which vending transaction occurs; the physical row and column of the vending machine's storage matrix from which the product is issued (“vended”); a customer identifier, and the type of product vended.

In another aspect of the invention, a component of the vending promotional printer's internal database includes a set of control parameters that instruct the vending promotional printer to select the type, quantity, and frequency of coupons to create and issue related to any of the triggers listed above. These control parameters may operate separately or in combination with each coupon in the database. Parameters that may be used include: a total quantity of a coupon being issued before the coupon is retired from the coupon database; a frequency 518 of issuance of a coupon based on the number of occurrences of specified trigger events; a frequency of issuance of a coupon based on random odds 520, such as one in one hundred trigger events; a backup coupon or coupons should a particular coupon fail to print for lack of satisfying its specified set of qualifiers; whether or not the coupon is issued based on the time the trigger occurred; and whether the coupon is issued based on the date the trigger occurred.

In one embodiment of vending promotional printer, a real time clock electronic device is included within the vending promotional printer for the purposes of supporting time dependent promotional activity as described above.

FIG. 11 is a process flow diagram of a trigger matrix process in accordance with ane exemplary embodiment of the present invention. A trigger matrix process 622 is used by a vending promotional printer to determine if a coupon should be generated and issued to a customer. The trigger matrix process receives (624) variable data from a master promotional controller. The trigger matrix process determines (628) if the variable data includes a coupon trigger instructing the vending promotional printer to issue a coupon. If so, the trigger matrix process selects (630) an appropriate coupon to issue from a coupon database 510. The trigger matrix process then generates (632) a coupon 511 using the selected coupon template. In addition, the trigger matrix process may use a portion of the variable data received from the master promotional controller to customize the coupon when the coupon is generated. The trigger matrix process may then store (633) coupon issuance statistical data (634) for later retrieval by the master promotional controller.

A trigger matrix process may also initiate issuance of a coupon even if the master promotional controller does not transmit a trigger to the vending promotional printer. To do so, the matrix trigger process gets (635) trigger control parameters stored in the promotional coupon database 510 that correspond to stored coupon templates in the promotional coupon database. The trigger matrix process then gets (638) vending machine and other internal data 636 and determines (640) if a coupon should be issued using the data and trigger control parameters. If the trigger matrix process determines (642) that a coupon should be generated, the trigger matrix process issues a coupon as previously described, this time selecting a coupon template using the trigger control parameters.

The vending promotional printer is a real-time device meaning that it continuously processes incoming trigger data and triggers. As such, the trigger matrix process may be configured as an endless loop as indicated by the start loop 644 and stop loop 646 symbols.

FIG. 12 is a sequence diagram of a coupon generating process in accordance with an exemplary embodiment of the present invention. A master promotional controller 104 transmits coupon or variable data 600 to a vending promotional printer 109. The vending promotional printer stores (602) the coupon data for later use by the vending promotional printer in printing a coupon. As previously described, the coupon data may include coupon templates, sets of dynamic and static variable data, trigger control parameters, and entire promotional coupon databases.

A vending promotional printer may receive various triggers that initiate generation of a coupon for a customer 100. The master promotional controller may transmit a promotional trigger (604) to the vending promotional printer. In response to the promotional trigger, the vending promotional printer generates a coupon 606 for use by the customer. The vending promotional printer then stores (608) statistical data about the just generated coupon. The vending promotional printer may also receive a vending machine trigger 610 from a vending machine controller 204 in a vending machine. In response to the vending machine trigger, the vending promotional printer generates a coupon 610 for use by the customer. The vending promotional printer then stores (612) statistical data about the just generated coupon. The vending promotional printer may also generate (614) an internal trigger on its own such that the vending promotional printer generates a coupon 616 for use by the customer. The vending promotional printer then stores (618) statistical data about the just generated coupon.

Periodically, or at the request of the master promotional controller, the vending promotional printer may transmit the saved coupon statistical data to the master promotional controller for analysis and other types of processing. The coupon tracking or statistical data may include details such as quantities of specific types of triggers received, quantities of each type of coupon issued, and the times and dates when triggers were received and coupons were issued.

In a vending promotional printer in accordance with an exemplary embodiment of the present invention, the vending promotional printer accepts promotional database loads and transfers statistical data with the master promotional controller either through a main communication port used for normally signaling pay out vouchers in the game, or through an auxiliary port allowing the vending promotional printer's promotional activities to be conducted in series or in parallel with the vending promotional printer's voucher and coupon printing functions within the vending machine.

FIG. 13 is an architecture diagram of an exemplary vending promotional printer in accordance with an exemplary embodiment of the present invention. A vending promotional printer 109 includes a processor 701 operatively coupled via a system bus 702 to a main memory 704. The processor is also coupled to a storage device 708 via a storage controller 706 and the bus. The storage device includes stored program instructions 724 and data 726 such as coupon variable data, coupon templates, and coupon trigger control parameters. In operation, the program instructions implementing a vending promotional printer are stored on the storage device until the processor retrieves the program instructions and stores them in the main memory. The processor then executes the computer program instructions stored in the main memory and operates on the data stored in the storage device to implement the features of a vending promotional printer as described above.

The processor is further coupled to a printer mechanism 718 through a printer controller 702 via the bus. In operation, the processor executes the program instructions to generate printer mechanism control signals and transmits these signals to the printer mechanism via the bus and printer controller. In response to the printer mechanism control signals, the printer mechanism prints coupons for use by a customer.

The processor is further coupled to external input devices 722 by an input device controller 720 via the bus. Example input devices include sensors that the vending promotional printer uses to detect proper printing of a coupon by the printer mechanism, coupon printer paper detectors, and real time clocks. The processor receives input device signals from the input devices via the input device controller and the bus and uses the input device signals to detect the state of the vending promotional printer's environment.

The processor is further coupled to a network device 714 via a network device controller 712 and the bus. The process uses the network device to communicate with other processing systems, such as a master promotional controller or a vending machine controller as previously described.

The vending promotional printer supports two communications ports, one port being used for communicating with the master promotional controller for promotional activities, and the other port being used for communicating with the vending machine controller for the purposes of issuing financial receipts and monitoring vending transactional traffic, thus allowing its promotional activities to be conducted in serial or in parallel with transactional printing functions within the vending machine.

FIG. 14 is an architecture diagram of an exemplary promotional master promotional controller in accordance with an exemplary embodiment of the present invention. A master promotional controller 104 includes a processor 901 operatively coupled via a system bus 902 to a main memory 904. The processor is also coupled to a storage device 908 via a storage controller 906 and the bus. In operation, program instructions 924 implementing a master promotional controller are stored on the storage device until the processor retrieves the program instructions and stores them in the main memory. The processor then executes the computer program instructions stored in the main memory to implement the features of a master promotional controller as described above.

The processor is further coupled to a network device 914 via a network device controller 912 and the bus. The process uses the network device to communicate with other processing systems, such as a vending promotional printer or a vending machine controller as previously described.

FIG. 15 is an illustration of a block diagram of the entire system in which the gaming promotional printer is employed. As shown, a master promotional control system which can either be a central computer, or an intelligent routing and management device for one or more of the gaming promotional printers, directs the promotional activity of the printers via its direct promotional ticket requests, or by using the printer's ability to store coupon databases and triggers. Once a coupon has been issued by the gaming promotional printer, it can either be redeemed with a human operator, or automatically through a bill acceptor in a cash-less enabled game, or a kiosk which is not a game but provides some other form of automatic interface with the coupon holder. As shown by the dashed line connection, a non-game kiosk or casino personnel may or may not interface back to the master promotional control system when redeeming a coupon, depending on the application. Information relative to the couponing activity is exchanged with the master system, the net result being the gaming promotional printers fitting into the system as distributed intelligent sub-units, significantly off-loading the master's real time servicing requirements and avoiding network bandwidth issues.

The gaming promotional printer supports two communications ports, one port being used for communicating with the MPC for promotional activities, and the other port being used for communicating with the gaming machine controller for the purposes of issuing financial receipts and monitoring gaming transactional traffic, thus allowing its promotional activities to be conducted in serial or in parallel with transactional printing functions within the gaming machine.

The gaming promotional printer accepts promotional database loads and transfers statistical data with the master promotional control system either through its main communication port used for normally signaling pay out vouchers in the game, or through an auxiliary port allowing its promotional activities to be conducted in serial or in parallel with its cash-out voucher printing functions within the cash-less enabled game.

FIG. 16 is an illustration of a sample coupon template, demonstrating how the template is made up a number of fields containing different types of data. In this example there are essentially four types of data fields: text, barcode, graphic and line/box draws. Each template can contain a number of these fields in combination, resulting in a paste-up style printed ticket. A number of templates (coupons) can be stored in a gaming promotional printer supporting a rich couponing environment.

FIG. 17 illustrates how the master promotional control system selects the type of coupon and transmits the particulars for each print and issue event. In this illustration we again see the coupon from FIG. 16, and the diagram divides the fields that make up the coupon into two groups, one group which is stored resident in the printer and the other being the group of fields sent dynamically by the master promotional control system at the time of print and issue. The group of fields that are stored in the gaming promotional printer are saved in a template definition for a particular coupon. Part of the communication packet issued by the master contains a reference to the template definition so that the dynamic data in the packet can be combined with the static field data stored in the gaming promotional printer to produce the complete coupon image. Since it is possible to store all fields used in a coupon within the printer's memory, it is possible for the master to issue a complete coupon by simply sending a reference to a coupon so defined to create it in its entirety.

FIG. 18 illustrates the trigger matrix logic within the gaming promotional printer. At the top of the diagram is an example of five different logical triggers utilized in the printer for initiating the coupons. The five examples given are: date, time, frequency of issuance, time of play, and game issued parameters to the printer such as player I.D., amount of money in place, duration of the current session of play and the like. In the lower part of the diagram, the coupon database stack is pictured. The stack of coupons are a plurality of pre-defined coupons which can be printed anytime the set of trigger conditions to which they are associated are satisfied. These trigger conditions can operate independently or in logical combination. The coupon selector logic module shown is tasked with analyzing trigger information as it comes available and determine which coupons should be printed in response to the information. By utilizing the trigger matrix shown in this figure, it is possible for the gaming promotional printer to issue coupons without any information provided by the master promotional control system at the time of a cash-out or cash-in.

FIG. 19 is block diagram illustrating a gaming environment employing couponing in accordance with an exemplary embodiment of the present invention. A player 2100 uses a cashless enabled gaming machine 2102 to play a gambling game or game of skill. As the player plays the game, a master promotional controller 2104 coupled to one or more cashless enabled gaming machines through a communications network 2106 triggers the generation of promotional coupons 2108 for use by the player. The promotional coupons are generated by a promotional gaming printer 2109 included in a cashless enabled gaming machine. The master promotional controller can either be a controller network connected to one or more gaming promotional printers, a controller within a cashless enabled gaming machine or gaming promotional printer, or an intelligent routing and management device for one or more gaming promotional printers.

In one embodiment of a master promotional controller, the master promotional controller directs the promotional activity of the gaming promotional printers via direct promotional coupon requests. In another embodiment of a master promotional controller, the master promotional controller uses a cashless enabled gaming machine's gaming promotional printer to store promotional coupon databases and triggers.

Once a promotional coupon has been issued by a gaming promotional printer, the promotional coupon may be redeemed with a human operator or cashier 2110, or redeemed automatically through a another redemption device, such as a bill acceptor in another cashless enabled gaming machine 2112, or redeemed at a kiosk 2114 which is not a game but provides some other form of automatic interface for a promotional coupon holder.

In one embodiment of a master promotional controller, the master promotional controller is coupled to the redemption devices. In another embodiment of a master promotional controller, a non-game kiosk or casino personnel may or may not interface back to the master promotional controller when redeeming a promotional coupon. Information relative to couponing activity is exchanged with the master promotional controller, the net result being the gaming promotional printers fitting into the system as distributed intelligent sub-units, significantly off-loading the master promotional controller's real time servicing requirements and avoiding network bandwidth issues associated with live streaming of promotional coupons during a relatively short cash-out time window.

In one gaming environment employing couponing in accordance with an exemplary embodiment of the present invention, each gaming promotional printer in the gaming environment has a unique address or identifier so that a population of gaming promotional printers on the network can be addressed in whole or individually for promotional purposes.

FIG. 20 is a deployment diagram of a couponing system in accordance with an exemplary embodiment of the present invention. In a couponing system, a master promotional controller 2104 is coupled to one or more cashless enabled gaming machines, as illustrated by cashless enabled gaming machine 2102, through a communications network 2106 by coupling to a gaming promotional printer 2109 included in the cashless enabled gaming machine. The master promotional controller is programmable and includes master promotional controller programming instructions 2101 controlling the master promotional controllers operations including communications with the gaming promotional printer.

In one gaming promotional printer in accordance with an exemplary embodiment of the present invention, a stand alone gaming promotional printer includes all of the necessary processing capabilities, memory, and gaming promotional printer programming instructions 2209 needed to perform promotional couponing operations for the cashless enabled gaming machine. In other embodiments of gaming promotional printers, a gaming promotional printer is created by coupling a promotional module 2210 to a conventional gaming printer, enabling the gaming printer to function as a gaming promotional printer. A stand alone gaming promotional printer or a gaming promotional printer created from a conventional gaming printer coupled to a promotional module are hereinafter termed a “gaming promotional printer”.

The master promotional controller may be coupled to a game controller 2104 included in the cashless enabled gaming machine. By coupling to a game controller, the master promotional controller may receive information from the game controller about the gaming operations of the cashless enabled gaming machine separately from the gaming promotional printer printing operations.

The cashless enabled gaming machine may also include a bill acceptor 2206 coupled to the game controller. A cashless enabled gaming machine uses a bill acceptor for redemption of promotional coupons and acceptance of vouchers or cash.

In operation, the master promotional controller transmits packets of variable data or coupon data describing a promotional database to the gaming promotional printer. The contents of the promotional database include descriptions of a plurality of promotional coupons, cash vouchers, advertisements or other enticements which are hereinafter collectively referred to as “coupons”. The gaming promotional printer receives the promotional database and stores the promotional database in the gaming promotional printer's local memory.

The gaming promotional printer also stores specifications of how to print the coupons in its local memory. The specifications of the coupons are stored as templates written in a template based printer language. This allows the coupons to be pre-defined, formatted, and stored in the gaming promotional printer completely or partially for later recall.

Upon reception of a trigger data signal from either the master promotional controller or the game controller, the gaming promotional printer references and parses the promotional database and coupon templates to generate and issue promotional coupons or tickets printed on paper media. The paper media may be used specifically for the purpose of generating promotional coupons, or the paper media may be used for the purpose of printing pay out vouchers associated with cashless gaming.

FIG. 21 is another deployment diagram of the coupon issuing system in accordance with an exemplary embodiment of the present invention. In a couponing system, a master promotional controller 2104 is coupled to one or more cashless enabled gaming machines, as illustrated by cashless enabled gaming machine 2102, through a communications network 2106 by coupling to a gaming promotional printer 2109 included in the cashless enabled gaming machine. The master promotional controller is programmable and includes master promotional controller programming instructions 2101 controlling the master promotional controllers operations including communications with the gaming promotional printer.

In one gaming promotional printer in accordance with an exemplary embodiment of the present invention, a stand alone gaming promotional printer includes all of the necessary processing capabilities, memory, and gaming promotional printer programming instructions 2209 needed to perform promotional couponing operations for the cashless enabled gaming machine. In other embodiments of gaming promotional printers, a gaming promotional printer is created by coupling a promotional module 2210 to a conventional gaming printer, enabling the gaming printer to function as a gaming promotional printer. A stand alone gaming promotional printer or a gaming promotional printer created from a conventional gaming printer coupled to a promotional module are hereinafter termed a “gaming promotional printer”.

The master promotional controller may be coupled to a game controller 2104 included in the cashless enabled gaming machine. By coupling to a game controller, the master promotional controller may receive information from the game controller about the gaming operations of the cashless enabled gaming machine separately from the gaming promotional printer printing operations.

The cashless enabled gaming machine may also include a bill acceptor 2206 coupled to the game controller. A cashless enabled gaming machine uses a bill acceptor for redemption of promotional coupons and acceptance of vouchers or cash.

Upon reception of a trigger data signal from either the master promotional controller or the game controller, the gaming promotional printer references and parses the promotional database and coupon templates to generate and issue promotional coupons or tickets printed on paper media. The paper media may be used specifically for the purpose of generating promotional coupons, or the paper media may be used for the purpose of printing pay out vouchers associated with cashless gaming.

The gaming promotional printer supports two communications ports, one port 2222 being used for communicating with the MPC for promotional activities, and the other port 2220 being used for communicating with the gaming machine controller for the purposes of issuing financial receipts and monitoring gaming transactional traffic, thus allowing its promotional activities to be conducted in serial or in parallel with transactional printing functions within the gaming machine.

The gaming promotional printer accepts promotional database loads and transfers statistical data with the master promotional control system either through its main communication port used for normally signaling pay out vouchers in the game, or through an auxiliary port allowing its promotional activities to be conducted in serial or in parallel with its cash-out voucher printing functions within the cash-less enabled game.

FIG. 22 is an illustration of a coupon including logical fields described in a template based printer language in accordance with an exemplary embodiment of the present invention. In this example, a coupon may 2300 include four types of data fields: text fields, such as text field 2302; barcode fields, such as barcode field 2304; graphic fields, such as graphic field 2306; and line/box draw fields, such as line/box draw field 2308. The fields of a coupon are described using coupon description data included in an electronic template that may be stored by a gaming promotional printer. A template may include a plurality of fields in combination, resulting in a paste-up style printed coupon. A plurality of templates describing different types of coupons may be stored in a gaming promotional printer supporting a rich couponing environment.

The actual value or data for each of the fields described in a coupon template may or may not be included in the template itself. For example, a template may include a barcode field for printing a barcode 2310. However, the actual value of the barcode is transmitted to a gaming promotional printer at the time a coupon is generated using the coupon template. In this way, a coupon may have fields that include static data, such as graphic 2312 in a graphic field, or dynamic data, such as the name of a particular patron 2314 in a text field. In this way, customized coupons may be printed by a gaming promotional printer without transferring large amounts of data through a communications network coupling a gaming promotional printer to a master promotional controller.

In addition, data that is used to track usage of coupons may be included in a coupon. For example, a barcode field or a text field may be used to print a barcode value or text string uniquely identifying a coupon. In this way, a gaming provisional printer creates an image of a barcode or barcodes, characters or marks that may be read by a cashless enabled gaming machine bill acceptor on the same or another cashless enabled gaming machine, allowing automatic acceptance of coupons into a cashless enabled gaming system in a casino or another related casino property.

Coupon templates for a gaming promotional printer may be defined as previously described.

FIG. 23 is a block diagram of coupon template field element stored partially resident in a promotional gaming printer and partially supplied by a master promotional controller at the time of print and issue in accordance with an exemplary embodiment of the present invention. FIG. 25 illustrates how a master promotional controller selects a type of coupon and transmits particulars, such as variable data to be placed in fields in the coupon, for each print and issuance event. Values for the fields that make up a coupon 2200 may be divided into two groups or sets. A resident variable data set 2400 may be stored locally in a gaming promotional printer. The resident set of variable data may include variable data such as: variable data for a text field containing an identifier of a casino 2402; variable data for a barcode field identifying a type of promotion 2404; a template description used to generate a graphic such as box variable data 2406 or line variable data 2408; or an identifier or actual variable data for a graphic 2410. A dynamic variable data set include variable data for fields having variable data that are stored in the gaming promotional printer and are saved in a template definition for a particular coupon. Examples of variable data in a dynamic variable data set include: text variable data for a player identifier 2414; text variable data describing a promotion item 2416; and barcode variable data 2418 for quantifying a value of a promotion for printing on the coupon.

Both variable data sets may be transmitted from a master promotional controller 2004 to a gaming promotional printer in the form of communication packets. When a gaming promotional printer receives a variable data set, the gaming promotional printer stores the variable data set for future use. A resident variable data set includes variable data that may be reused for generating many coupons; therefore, a resident variable data set may be stored in the gaming promotional printer for an extended period of time. In contrast, a dynamic variable data set may be used for a short period of time, perhaps for even a single generation of a single coupon. As such, the dynamic variable data set and static variable data set associated in a coupon may be transmitted to a gaming promotional printer at different times. To retain association between the variable data sets, part of the communication packet issued by the master promotional controller may include a reference 2420 to a template definition so that the dynamic data in the communication packet can be combined 2422 with the static field data stored in a gaming promotional printer to generate a complete coupon 2200.

Since it is possible to store all fields used in a coupon within the gaming promotional printer's memory, a master promotional controller may issue a complete coupon by simply sending a reference to a coupon so defined to generate a coupon in its entirety. It is also possible for a master promotional controller to offload the entire live communication burden by sending a complete coupon database including triggers during off-peak times.

In one embodiment of a gaming promotional printer, a gaming promotional printer is triggered to print coupons from the gaming promotional printer's internal database under direct control of a master promotional controller that triggers the issuance of a coupon and conveys any pertinent variable information associated with the coupon such as promotion type, face value of the coupon, date of expiration and the like.

FIG. 24 is a block diagram of an exemplary coupon stack and logical trigger matrix resident in a gaming promotional printer in accordance with an exemplary embodiment of the present invention. As previously noted, a gaming promotional printer may print a coupon in response to either internal or external event signals or trigger data. To respond to a trigger, a gaming promotional printer includes a coupon selector logic module 2500 that analyzes trigger data 2502 as trigger data becomes available and determines which coupons should be printed in response to the trigger data. Coupons, such as coupons 2504, 2506, and 2508, are stored in a coupon database 2510 as a stack. The stack of coupons are a plurality of predefined coupons that can generate a coupon 2511 anytime a set of trigger conditions to which a coupon is associated is satisfied. These trigger conditions can operate independently or in logical combination.

Exemplary logical trigger data utilized in a gaming promotional printer for initiating generation of coupons includes: date 2512, time of day 2514, frequency of issuance of a particular coupon 2516, time of play 2524, and game issued parameters 2526 to the printer such as player identification, amount of money in place, duration of the current session of play and the like. By utilizing the illustrated trigger matrix, it is possible for a gaming promotional printer to issue coupons without any information provided by an master promotional controller at the time of a cash-out or cash-in by a player.

In one gaming promotional printer in accordance with an exemplary embodiment of the invention, the gaming promotional printer receives from a master promotional controller a coupon trigger database thereby enabling the gaming promotional printer to self-manage its couponing activity. The coupon trigger database may include different types of trigger control parameters including: triggering a coupon generation anytime a cash out voucher is printed; generating a coupon whenever a voucher for greater than, equal to, or less than a specified amount of money is issued; generating a coupon based on an identity of a player; generating a coupon based on a category or classification of a player related to frequency of play or money volume; generating a coupon based on the duration of play of the gaming machine by a player; and generating a coupon anytime a player adds money or credits to a game in an amount greater than, equal to, or less than a specified amount.

In another aspect of the invention, a component of the gaming promotional printer's internal database includes a set of control parameters that instruct the gaming promotional printer to select the type, quantity, and frequency of coupons to create and issue related to any of the triggers listed above. These control parameters may operate separately or in combination with each coupon in the database. Parameters that may be used include: a total quantity of a coupon being issued before the coupon is retired from the coupon database; a frequency 2518 of issuance of a coupon based on the number of occurrences of specified trigger events; a frequency of issuance of a coupon based on random odds 2520, such as one in one hundred trigger events; a backup coupon or coupons should a particular coupon fail to print for lack of satisfying its specified set of qualifiers; whether or not the coupon is issued based on the time the trigger occurred; and whether the coupon is issued based on the date the trigger occurred.

In one embodiment of gaming promotional printer, a real time clock electronic device is included within the gaming promotional printer for the purposes of supporting time dependent promotional activity as described above.

FIG. 25 is a process flow diagram of a trigger matrix process in accordance with ane exemplary embodiment of the present invention. A trigger matrix process 2622 is used by a gaming promotional printer to determine if a coupon should be generated and issued to a player. The trigger matrix process receives (2624) variable data from a master promotional controller. The trigger matrix process determines (2628) if the variable data includes a coupon trigger instructing the gaming promotional printer to issue a coupon. If so, the trigger matrix process selects (2630) an appropriate coupon to issue from a coupon database 2510. The trigger matrix process then generates (2632) a coupon 2511 using the selected coupon template. In addition, the trigger matrix process may use a portion of the variable data received from the master promotional controller to customize the coupon when the coupon is generated. The trigger matrix process may then store (2633) coupon issuance statistical data (2634) for later retrieval by the master promotional controller.

A trigger matrix process may also initiate issuance of a coupon even if the master promotional controller does not transmit a trigger to the gaming promotional printer. To do so, the matrix trigger process gets (2635) trigger control parameters stored in the promotional coupon database 2510 that correspond to stored coupon templates in the promotional coupon database. The trigger matrix process then gets (2638) gaming machine and other internal data 2636 and determines (2640) if a coupon should be issued using the data and trigger control parameters. If the trigger matrix process determines (2642) that a coupon should be generated, the trigger matrix process issues a coupon as previously described, this time selecting a coupon template using the trigger control parameters.

The gaming promotional printer is a real-time device meaning that it continuously processes incoming trigger data and triggers. As such, the trigger matrix process may be configured as an endless loop as indicated by the start loop 2644 and stop loop 2646 symbols.

FIG. 26 is a sequence diagram of a coupon generating process in accordance with an exemplary embodiment of the present invention. A master promotional controller 2104 transmits coupon or variable data 2600 to a gaming promotional printer 2109. The gaming promotional printer stores (2602) the coupon data for later use by the gaming promotional printer in printing a coupon. As previously described, the coupon data may include coupon templates, sets of dynamic and static variable data, trigger control parameters, and entire promotional coupon databases.

A gaming promotional printer may receive various triggers that initiate generation of a coupon for a player 2100. The master promotional controller may transmit a promotional trigger 2604 to the gaming promotional printer. In response to the promotional trigger, the gaming promotional printer generates a coupon 2606 for use by the player. The gaming promotional printer then stores (2608) statistical data about the just generated coupon. The gaming promotional printer may also receive a gaming machine trigger 2610 from a game controller 2204 in a cashless enabled gaming machine. In response to the gaming machine trigger, the gaming promotional printer generates a coupon 2610 for use by the player. The gaming promotional printer then stores (2612) statistical data about the just generated coupon. The gaming promotional printer may also generate (2614) an internal trigger on its own such that the gaming promotional printer generates a coupon 2616 for use by the player. The gaming promotional printer then stores (2618) statistical data about the just generated coupon.

Periodically, or at the request of the master promotional controller, the gaming promotional printer may transmit the saved coupon statistical data to the master promotional controller for analysis and other types of processing. The coupon tracking or statistical data may include details such as quantities of specific types of triggers received, quantities of each type of coupon issued, and the times and dates when triggers were received and coupons were issued.

The gaming promotional printer may accept promotional database loads and transfer statistical data with the master promotional controller either through a main communication port used for normally signaling pay out vouchers in the game, or through an auxiliary port allowing the gaming promotional printer's promotional activities to be conducted in series or in parallel with the gaming promotional printer's cash-out voucher printing functions within the cashless enabled gaming machine.

FIG. 27 is an architecture diagram of a promotional gaming printer in accordance with an exemplary embodiment of the present invention. A gaming promotional printer 2109 includes a processor 2701 operatively coupled via a system bus 2702 to a main memory 2704. The processor is also coupled to a storage device 2708 via a storage controller 2706 and the bus. The storage device includes stored program instructions 2724 and data 2726 such as coupon variable data, coupon templates, and coupon trigger control parameters. In operation, the program instructions implementing a gaming promotional printer are stored on the storage device until the processor retrieves the program instructions and stores them in the main memory. The processor then executes the computer program instructions stored in the main memory and operates on the data stored in the storage device to implement the features of a gaming promotional printer as described above.

The processor is further coupled to a printer mechanism 2718 through a printer controller 2702 via the bus. In operation, the processor executes the program instructions to generate printer mechanism control signals and transmits these signals to the printer mechanism via the bus and printer controller. In response to the printer mechanism control signals, the printer mechanism prints coupons for use by a player.

The processor is further coupled to external input devices 2722 by an input device controller 2720 via the bus. Example input devices include sensors that the gaming promotional printer uses to detect proper printing of a coupon by the printer mechanism, coupon printer paper detectors, and real time clocks. The processor receives input device signals from the input devices via the input device controller and the bus and uses the input device signals to detect the state of the gaming promotional printer's environment.

The processor is further coupled to a network device 2714 via a network device controller 2712 and the bus. The process uses the network device to communicate with other processing systems, such as a master promotional controller or a gaming machine controller as previously described.

The gaming promotional printer supports two communications ports, one port being used for communicating with the master promotional controller for promotional activities, and the other port being used for communicating with the gaming machine controller for the purposes of issuing financial receipts and monitoring gaming transactional traffic, thus allowing its promotional activities to be conducted in serial or in parallel with transactional printing functions within the gaming machine.

The gaming promotional printer may accept promotional database loads and transferring statistical data with the master promotional control system either through its main communication port used for normally signaling pay out vouchers in the game, or through an auxiliary port allowing its promotional activities to be conducted in serial or in parallel with its cash-out voucher printing functions within the cash-less enabled game.

FIG. 28 is an architecture diagram of an exemplary promotional master promotional controller in accordance with an exemplary embodiment of the present invention. A master promotional controller 2104 includes a processor 2901 operatively coupled via a system bus 2902 to a main memory 2904. The processor is also coupled to a storage device 908 via a storage controller 2906 and the bus. In operation, program instructions 2924 implementing a master promotional controller are stored on the storage device until the processor retrieves the program instructions and stores them in the main memory. The processor then executes the computer program instructions stored in the main memory to implement the features of a master promotional controller as described above.

The processor is further coupled to a network device 2914 via a network device controller 2912 and the bus. The process uses the network device to communicate with other processing systems, such as a gaming promotional printer or a gaming machine controller as previously described.

Although this invention has been described in certain specific embodiments, many additional modifications and variations would be apparent to those skilled in the art. It is therefore to be understood that this invention may be practiced otherwise than as specifically described. Thus, the present embodiments of the invention should be considered in all respects as illustrative and not restrictive, the scope of the invention to be determined by any claims supported by this application and the claims' equivalents rather than the foregoing description. 

1. An interface for controlling a printer, comprising: a first driver for receiving, from a local controller, data indicative of information to be printed; a second driver for receiving, from a central system controller, data indicative of information to be printed; and a processor responsive to said first and second drivers for generating printer commands in a standard format for said printer.
 2. An interface in accordance with claim 1, wherein said first driver receives data in a first format, and said second driver receives data in a second format.
 3. An interface in accordance with claim 2, wherein: said first driver receives data in one of a trigger or template format; and said second driver receives data in another one of said trigger or template formats.
 4. An interface in accordance with claim 1, wherein: said first driver and said processor together decode data from said local controller and convert the decoded local controller data to said standard format; and said second driver and said processor together decode data from said central system controller and convert the decoded central system controller data to said standard format.
 5. An interface in accordance with claim 1, wherein said first driver processes cash data from the local controller for use in printing a voucher.
 6. An interface in accordance with claim 5, wherein said second driver processes non-cash data from the central system controller for use in printing a coupon.
 7. An interface in accordance with claim 1, wherein said second driver processes non-cash data from the central system controller for use in printing a coupon.
 8. An interface in accordance with claim 1, wherein said interface is built into the printer.
 9. An interface in accordance with claim 1, wherein said interface is external to the printer.
 10. An interface in accordance with claim 1, wherein said printer is a gaming machine printer.
 11. An interface in accordance with claim 1, wherein said printer is a vending machine printer.
 12. An interface for controlling a printer, comprising: first means for receiving, from a local controller, data indicative of information to be printed; second means for receiving, from a central system controller, data indicative of information to be printed; and third means responsive to said first and second means for generating printer commands in a standard format for said printer.
 13. An interface in accordance with claim 12, wherein said first means receives data in a first format, and said second means receives data in a second format.
 14. An interface in accordance with claim 13, wherein: said first means receives data in one of a trigger or template format; and said second means receives data in another one of said trigger or template formats.
 15. An interface in accordance with claim 12, wherein: said first means and said third means together decode data from said local controller and convert the decoded local controller data to said standard format; and said second means and said third means together decode data from said central system controller and convert the decoded central system controller data to said standard format.
 16. An interface in accordance with claim 12, wherein said first means processes cash data from the local controller for use in printing a voucher.
 17. An interface in accordance with claim 16, wherein said second means processes non-cash data from the central system controller for use in printing a coupon.
 18. An interface in accordance with claim 12, wherein said second means processes non-cash data from the central system controller for use in printing a coupon.
 19. An interface in accordance with claim 12, wherein said interface is built into the printer.
 20. An interface in accordance with claim 12, wherein said interface is external to the printer.
 21. An interface in accordance with claim 12, wherein said printer is a gaming machine printer.
 22. An interface in accordance with claim 12, wherein said printer is a vending machine printer.
 23. An interface for controlling a printer, comprising: a first driver for receiving, from a local controller, cash data indicative of information to be printed on a voucher; a second driver for receiving, from a central system controller, non-cash data indicative of information to be printed on a coupon; and a processor responsive to said first and second drivers for generating printer commands in a standard format for said printer.
 24. An interface in accordance with claim 23, wherein said first driver receives data in a first format, and said second driver receives data in a second format.
 25. An interface in accordance with claim 24, wherein: said first driver receives data in one of a trigger or template format; and said second driver receives data in another one of said trigger or template formats.
 26. An interface in accordance with claim 23, wherein: said first driver and said processor together decode data from said local controller and convert the decoded local controller data to said standard format; and said second driver and said processor together decode data from said central system controller and convert the decoded central system controller data to said standard format.
 27. An interface in accordance with claim 23, wherein said interface is built into the printer.
 28. An interface in accordance with claim 23, wherein said interface is external to the printer.
 29. An interface in accordance with claim 23, wherein said printer is a gaming machine printer.
 30. An interface in accordance with claim 23, wherein said printer is a vending machine printer.
 31. An interface for controlling a printer, comprising: first means for receiving, from a local controller, cash data indicative of information to be printed on a voucher; second means for receiving, from a central system controller, non-cash data indicative of information to be printed on a coupon; and third means, responsive to said first and second means, for generating printer commands in a standard format for said printer.
 32. An interface in accordance with claim 31, wherein said first means receives data in a first format, and said second means receives data in a second format.
 33. An interface in accordance with claim 32, wherein: said first means receives data in one of a trigger or template format; and said second means receives data in another one of said trigger or template formats.
 34. An interface in accordance with claim 31, wherein: said first means and said third means together decode data from said local controller and convert the decoded local controller data to said standard format; and said second means and said third means together decode data from said central system controller and convert the decoded central system controller data to said standard format.
 35. An interface in accordance with claim 31, wherein said interface is built into the printer.
 36. An interface in accordance with claim 31, wherein said interface is external to the printer.
 37. An interface in accordance with claim 31, wherein said printer is a gaming machine printer.
 38. An interface in accordance with claim 31, wherein said printer is a vending machine printer. 